package com.accp.action;

import com.accp.biz.ExceptionOrderBiz;
import com.accp.pojo.Users;
import com.accp.pojo.ExceptionOrder;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ModelDriven;
import org.apache.struts2.ServletActionContext;

import javax.servlet.http.HttpServletRequest;
import java.util.Date;
import java.util.List;
import java.util.Map;

public class ExceptionOrderAction implements ModelDriven<ExceptionOrder> {

	private ExceptionOrderBiz orderBiz;

	private ExceptionOrder order = new ExceptionOrder();
	
	@Override
	public ExceptionOrder getModel() {
		return order;
	}

	public void setExceptionOrderBiz(ExceptionOrderBiz orderBiz) {
		this.orderBiz = orderBiz;
	}

//	/**
//	 * 查询订单信息
//	 * @return
//	 */
//	@SuppressWarnings("unchecked")
//	public String find(){
//		List<ExceptionOrder> list = null;
//		Map<String,Object> request = (Map<String,Object>)ActionContext.getContext().get("request");
//		Map<String,Object> session = ActionContext.getContext().getSession();
//		Users user = (Users) session.get("user");
//		String checker =user.getUserName();
//		String name=user.getUserName();
//		if(user.getRole().equals("经理")){
//			list = orderBiz.findByManage(checker, name);
//		}
//		if(null!=list){
//			request.put("orderList", list);
//			return "find";
//		}
//		return "error";
//	}

	/**
	 * 通过ID查看订单信息
	 * @return
	 */
	@SuppressWarnings("unchecked")
	public String findById(){
		Map<String,Object> request = (Map<String,Object>)ActionContext.getContext().get("request");
		int id = Integer.parseInt(ServletActionContext.getRequest().getParameter("id"));
		ExceptionOrder order = orderBiz.findById(id);
		if(null!=order){
			request.put("order", order);
			return "findById";
		}
		return "error";
	}

	/**
	 * 异常订单（增加）
	 * @return
	 */
	public String add(){
		order.setCreatedTime(new Date());
		orderBiz.add(order);
		return "application";
	}
	/**
	 * 异常订单（删除）
	 * @return
	 */
	public String delete(){
		if(orderBiz.delete(order)){
			return "delete";
		}
		return "error";
	}


    /**
     * 查询订单（mysql）
     *
     */
    @SuppressWarnings({ "unchecked", "rawtypes" })
    public String selectMysqlList(){
        Map<String,Object> request = (Map<String, Object>) ActionContext.getContext().get("request");
        try{
            List list = orderBiz.selectByName("ExceptionOrder", order.getPatientName());
            request.put("list", list);
        }catch(Exception e){
            e.printStackTrace();
        }
        return "selectMysqlList";
    }

	
//	/**
//	 * 分页异常订单
//	 *
//	 */
//	@SuppressWarnings({ "unchecked", "rawtypes" })
//	public String selectFirstPage(){
//		Map<String,Object> request = (Map<String, Object>) ActionContext.getContext().get("request");
//		try{
//			List list = orderBiz.selectByPage("ExceptionOrder", 1, 3,order.getPatientName());
//			int totalPage = orderBiz.searchRecordsNextPage(3, "ExceptionOrder",order.getPatientName());
//			request.put("list", list);
//			request.put("totalPage", totalPage);
//			request.put("currentPage", 1);
//		}catch(Exception e){
//			e.printStackTrace();
//		}
//		return "selectFirstPage";
//	}
//
//	/**
//	 * 分页查找下一页
//	 * @return
//	 */
//	@SuppressWarnings("rawtypes")
//	public String selectNextPage(){
//		HttpServletRequest request = ServletActionContext.getRequest();
//		int next = Integer.parseInt(request.getParameter("page"));
//		try{
//			List list = orderBiz.selectByPage("ExceptionOrder", next, 3,null);
//			int total = orderBiz.searchRecordsNextPage(3, "ExceptionOrder",null);
//			request.setAttribute("list", list);
//			request.setAttribute("currentPage", next);
//			request.setAttribute("totalPage", total);
//		}catch(Exception e){
//			e.printStackTrace();
//		}
//		return "selectNextPage";
//	}
}
